﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WPFSchematics.Definition.Entities;
using WPFSchematics.Definition.Templates;
using WPFSchematics.Definition.Shapes;
using System.Windows;
using WPFSchematics.Definition.Models;

namespace WPFSchematics.Definition.Views
{
    /// <summary>
    /// 图元模板视图接口。
    /// </summary>
    public interface ITemplateView:IEntity
    {
        /// <summary>
        /// 图元模板视图类型。
        /// </summary>
        GeometryType Type { get; }
        /// <summary>
        /// 图元模板。
        /// </summary>
        IShapeTemplate ShapeTemplate { set; get; }
        /// <summary>
        /// 
        /// </summary>
        IconSize IconSize { set; get; }
        /// <summary>
        /// 符号索引。
        /// </summary>
        int SymbolIndex { set; get; }
        /// <summary>
        /// 图元设备模板。
        /// </summary>
        List<IShapeFeature> FeaturesTemplate { set; get; }
    }

    /// <summary>
    /// 图元模板视图类型。
    /// </summary>
    public enum TemplateViewType
    { 
        /// <summary>
        /// 符号型。可切换符号。
        /// </summary>
        Symbol,
        /// <summary>
        /// 几何形。
        /// </summary>
        Geometry,
        /// <summary>
        /// 自定义。
        /// </summary>
        Custom,
    }

    /// <summary>
    /// 
    /// </summary>
    public enum IconSize
    { 
        Large,
        Medium,
        Small
    }
}
